package model

import "time"

/**
 * @Author kong
 * @Date 2023/11/5
 * @Description 课程表
 */
type Course struct {
	// 课程主键
	ID uint64 `orm:"column(id);size(32);pk;auto;description(主键)"`
	// 课程标题
	Title string `orm:"column(title);size(100);description(课程标题);default:('')"`
	// 课程封面
	Img string `orm:"column(img);size(200);description(课程封面);default:('')"`
	// 课程内容
	Content string `orm:"column(content);description(课程内容);default:('')"`
	// 课程标签
	Tags string `orm:"column(tags);size(40);description(课程标签);default:('')"`
	// 课程缩略描述
	Description string `orm:"column(description);size(200);description(课程缩略描述);default:('')"`
	// 课程浏览次数
	Viewcount int `orm:"column(view_count);description(课程浏览次数);default:(0)"`
	// 评论状态 0不可以评论 1可以评论
	CommentFlag int `orm:"column(commentFlag);description(评论状态 0不可以评论 1可以评论);default:(1)"`
	// 删除状态 0未删除 1删除
	IsDeleted int `orm:"column(is_deleted);description(删除状态 0未删除 1删除);default:(0)"`
	// 作者头像
	Avatar string `orm:"column(avatar);size(200);description(作者头像);default:('')"`
	// 课程作者
	NickName string `orm:"column(nickname);size(64);description(课程作者);default:('')"`
	// 发布状态 1发布 0未发布
	Status int `orm:"column(status);size(1);description(发布状态 1发布 0未发布);default(1);"`
	// 作者ID
	Userid uint64 `orm:"column(userid);description(作者ID);default(0);"`
	// 收藏数
	FavNum int `orm:"column(fav_num);size(1);description(收藏数);default(0);"`
	// 喜欢数
	LikeNum int `orm:"column(like_num);size(1);description(喜欢数);default(0);"`
	// 评论数量
	CommentNum int `orm:"column(comment_Num);size(1);description(评论数量);default(0);"`
	// 购买人数
	BuyNum int `orm:"column(buy_num);size(1);description(购买人数);default(0);"`
	// 课程时长
	Coursetime string `orm:"column(course_time);size(20);description(课程时长);default:('')"`
	// 原始价格
	Price string `orm:"column(price);size(20);description(原始价格);default:(0.00)"`
	// 真实价格
	Realprice string `orm:"column(real_price);size(20);description(真实价格);default:(0.00)"`
	// 课程类型 1 基础课  2 进阶课  4 面试课  3 实战课程
	Coursetype int `orm:"column(course_type);description(真实价格);default:(0)"`
	// 是否最新 1是 0否
	NewFlag int `orm:"column(new_flag);description(是否最新 1是 0否);default:(0)"`
	// 是否最热 1是 0否
	HotFlag int `orm:"column(hot_flag);description(是否最热 1是 0否);default:(0)"`
	// 是否推荐 1是 0否
	PushFlag int `orm:"column(push_flag);description(是否推荐 1是 0否);default:(0)"`
	// 课程分类ID
	CategoryPid uint64 `orm:"column(category_pid);description(课程分类ID);default:(0)"`
	// 课程分类标题
	CategoryPname string `orm:"column(category_pname);size(100);description(课程分类标题);default:('')"`
	// 子分类ID
	CategoryCid uint64 `orm:"column(category_cid);description(子分类ID);default:(0)"`
	// 子分类标题
	CategoryCname string `orm:"column(category_cname);size(100);description(子分类标题);default:('')"`
	// 课程公告
	NoticeMsg string `orm:"column(notice_msg);size(600);description(课程公告);default:('')"`
	// 课程背景图
	BgImg string `orm:"column(bg_img);size(200);description(课程背景图);default:('')"`
	// 用户uuid
	Uuid string `orm:"column(uuid);size(60);description(用户uuid);default:('')"`
	// 1所有人可见 2 付费可见 3 VIP可见 4：SVIP可见 5：学习币课程
	VipFlag int `orm:"column(vip_flag);description(1所有人可见 2 付费可见 3 VIP可见 4：SVIP可见 5：学习币课程);default:(0)"`
	// 课程所需学习币
	Corn float32 `orm:"column(corn);size(20);description(课程所需学习币);default:(0.00)"`
	// 系统ID
	SystemId int `orm:"column(system_id);description(系统ID);default:(0)"`
	// 创建时间
	CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime);description(创建时间);"`
	// 更新时间
	UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime);description(更新时间);"`
}

// 重写覆盖表明
func (Course) TableName() string {
	return "xk_course"
}
